﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using EntidadesCompartidas;
using System.Data.SqlClient;
using System.Data;

using Persistencia.Properties;

namespace Persistencia.Datos
{
    public class PersCamara:Interfaces.IPersCamara
    {
        //Elementos que determinan el singleton
        //1- Atributo de Clase
        private static PersCamara _miPersistenciaCamara = null;
        //2- Constructor
        private PersCamara() { }
        //3- Metodo de Clase
        public static PersCamara GetCamara()
        {
            if (_miPersistenciaCamara == null)
            {
                _miPersistenciaCamara = new PersCamara();
            }
            return _miPersistenciaCamara;

        }
        /////////////////////////////////////////////////////////////////////////////////////////////

        #region Miembros de IPersCamara

        //public Camara BuscarCamara(string pId)
        //{
        //    bool _estado;
        //    decimal _X;
        //    decimal _Y;

        //    Camara _laCamara = null;

        //    SqlConnection _conexion = new SqlConnection(Settings.Default.dbSmartHouseConnectionString);
        //    string consulta = "select * from Camaras where Id = " + pId + "and EliminacionLogica = 1";
        //    SqlCommand _comando = new SqlCommand(consulta, _conexion);

        //    SqlDataReader _lector;

        //    try
        //    {
        //        _conexion.Open();
        //        _lector = _comando.ExecuteReader();
        //        if (_lector.Read())
        //        {
        //            _estado = (bool)_lector["Estado"];
        //            _X = (decimal)_lector["EjeX"];
        //            _Y = (decimal)_lector["EjeY"];
        //            _laCamara = new Camara(pId, _estado, _X, _Y);
        //        }
        //        _lector.Close();

        //    }
        //    catch (Exception ex)
        //    {
        //        throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
        //    }
        //    finally
        //    {
        //        _conexion.Close();
        //    }
        //    return _laCamara;
        //}

        //public int OnOffCamara(Camara pCamara)
        //{
        //    SqlConnection _conexion = new SqlConnection(Settings.Default.dbSmartHouseConnectionString);
        //    string consulta = "";
        //    if (pCamara.Estado == true)
        //        consulta = "Update Camaras SET Estado= " + 0 + " where Id= " + pCamara.DirRtsp + " and EliminacionLogica = 1";
        //    else
        //        consulta = "Update Camaras SET Estado= " + 1 + " where Id= " + pCamara.DirRtsp + " and EliminacionLogica = 1";
        //    SqlCommand _comando = new SqlCommand(consulta, _conexion);
        //    int _afectados = -1;
        //    try
        //    {
        //        _conexion.Open();
        //        _afectados = _comando.ExecuteNonQuery();
        //    }
        //    catch (Exception ex)
        //    {
        //        throw new ApplicationException("Problemas con la base de datos:" + ex.Message);
        //    }
        //    finally
        //    {
        //        _conexion.Close();
        //    }

        //    return _afectados;
        //}

        #endregion
    }
}
